Skip to content

chore: support release reproducibility#1012

Open
ovitrif wants to merge 1 commit into
masterfrom
ovi/release-reproducibility-config
Open

chore: support release reproducibility#1012
ovitrif wants to merge 1 commit into
masterfrom
ovi/release-reproducibility-config

Conversation

@ovitrif

@ovitrif ovitrif commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Closes #953
Related: #1006
Replaces the release reproducibility portion of #959.

Description

This PR splits the reproducibility work out of #959:

  • Adds the manual Reproducible Release workflow for mainnetRelease reproduction artifacts.
  • Adds scripts/reproduce-release.sh to build/reuse the release AAB, recreate APK splits with pinned bundletool, extract arm64 native libraries, and write checksums.
  • Fails early when the supplied release signing key is not RSA, because EC/ECDSA signatures are not byte-stable across signing runs.
  • Documents the local and GitHub Actions reproduction flow in docs/reproducible-builds.md.
  • Documents the remaining upstream native-library reproducibility work related to v2.2.0: Native libraries not reproducible (libbitkitcore.so, libdatastore_shared_counter.so, libjnidispatch.so, libpubky_app_specs) #953.

Preview

N/A

QA Notes

Manual Tests

  • 1. Reproducible Release workflow → run manually with release environment secrets: artifacts upload and diffoscope comparison behave as expected (after merge).

Automated Checks

  • bash -n scripts/reproduce-release.sh
  • go run github.com/rhysd/actionlint/cmd/actionlint@latest .github/workflows/reproducible-release.yml
  • git diff --check
  • Signing-key verifier smoke: extracted the embedded Java verifier and confirmed a throwaway RSA keystore reports RSA, while a throwaway EC keystore reports EC.
  • Comparison-input preservation smoke: confirmed an overlapping DIFFOSCOPE_COMPARE_DIR is copied to a temp dir before cleanup and remains available after the generated output directory is removed.

@ovitrif ovitrif mentioned this pull request Jun 15, 2026
2 tasks
@greptile-apps

This comment has been minimized.

greptile-apps[bot]

This comment was marked as resolved.

chatgpt-codex-connector[bot]

This comment was marked as resolved.

@ovitrif ovitrif force-pushed the ovi/release-reproducibility-config branch from ee1db3e to ad84438 Compare June 15, 2026 10:38
chatgpt-codex-connector[bot]

This comment was marked as resolved.

@ovitrif ovitrif force-pushed the ovi/release-reproducibility-config branch from ad84438 to 26a5059 Compare June 15, 2026 10:44
@ovitrif ovitrif self-assigned this Jun 15, 2026
@ovitrif ovitrif added this to the 2.5.0 milestone Jun 15, 2026
@ovitrif ovitrif force-pushed the ovi/release-reproducibility-config branch from 26a5059 to 213f973 Compare June 15, 2026 12:44
chatgpt-codex-connector[bot]

This comment was marked as resolved.

@ovitrif ovitrif force-pushed the ovi/release-reproducibility-config branch from 213f973 to 7479414 Compare June 15, 2026 12:53
chatgpt-codex-connector[bot]

This comment was marked as resolved.

@ovitrif ovitrif force-pushed the ovi/release-reproducibility-config branch from 7479414 to 857e2c6 Compare June 15, 2026 13:05
chatgpt-codex-connector[bot]

This comment was marked as resolved.

@ovitrif ovitrif force-pushed the ovi/release-reproducibility-config branch 2 times, most recently from 917dd93 to 07d7fa9 Compare June 15, 2026 16:30
chatgpt-codex-connector[bot]

This comment was marked as resolved.

@ovitrif ovitrif force-pushed the ovi/release-reproducibility-config branch from 07d7fa9 to 039bc2f Compare June 15, 2026 16:42
chatgpt-codex-connector[bot]

This comment was marked as resolved.

@ovitrif ovitrif force-pushed the ovi/release-reproducibility-config branch from 039bc2f to 107d707 Compare June 15, 2026 16:52
@ovitrif ovitrif changed the title chore: add release reproducibility config chore: support release reproducibility Jun 15, 2026
chatgpt-codex-connector[bot]

This comment was marked as resolved.

@ovitrif ovitrif force-pushed the ovi/release-reproducibility-config branch 2 times, most recently from f7c1bca to 7ed3897 Compare June 15, 2026 17:10
chatgpt-codex-connector[bot]

This comment was marked as resolved.

@ovitrif ovitrif force-pushed the ovi/release-reproducibility-config branch from 7ed3897 to 4a2b16f Compare June 15, 2026 17:18
@ovitrif ovitrif force-pushed the ovi/release-reproducibility-config branch from 4a2b16f to b676a3d Compare June 15, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

v2.2.0: Native libraries not reproducible (libbitkitcore.so, libdatastore_shared_counter.so, libjnidispatch.so, libpubky_app_specs)

1 participant